<?php
/*
Cogumelo v0.1 - Map-Experience
Copyright (C) 2008 Innoto Gestión para el Desarrollo Social S.L. <mapinfo@map-experience.com>

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
USA.
*/


//
// Raise Error Controller abstract class
//

abstract class ErrorController
{

protected $debug;
protected $errorcode;
protected $errordata;
protected $errorinfo;
protected $errordump="";

    //
    // Class Constructor
    //
    function __construct($debug=true)
    {          
     $this->debug=$debug;
    }
            
       
    //
    // Add a logline to log buffer
    //
    function raiseError($code, $info)
    {
      
      $this->errorcode=$code;
      $this->errorinfo=$info;                                  
      $this->dump();
               
    }
    
    
    //
    // Dump logdata available in the buffer to screen
    //
    function screendump()
    {    
      $this->errordump= "<div class=\"errorcode\">ERROR CODE #".$this->errorcode.".</div>";
      
      if($this->debug) $this->errordump=$this->errordump."<div class=\"errorinfo\">".$this->errorhash[$this->errorcode]."</div><div class=\"errorinfo\">".$this->errorinfo."</div>"; 
      else $this->errordump=$this->errordump."<div class=\"errorinfo\">Se ha producido un error. Contacte con el administrador del sistema</div>"; // Print default error message for non-debug. 
            
      print $this->errordump;
    }
    
    
    
    //
    // Dump errordata available in the buffer to desired destinations
    //
    abstract function dump();
    
}


?>